Finite State Machine (FSM) হলো একটি গাণিতিক মডেল যা বিভিন্ন অবস্থার মধ্যে ট্রানজিশন পরিচালনা করতে ব্যবহৃত হয়। এটি একটি নির্দিষ্ট সংখ্যা অবস্থার মধ্যে কাজ করে এবং একটি অবস্থার ভিত্তিতে প্রোগ্রামের আচরণ নির্ধারণ করে। FSM সাধারণত নিয়ন্ত্রণ ব্যবস্থা, গেম ডেভেলপমেন্ট এবং যোগাযোগ প্রোটোকলে ব্যবহৃত হয়।
FSM প্রোগ্রামিংয়ের মূল গঠন হলো:
Arduino-তে FSM তৈরি করতে নিম্নলিখিত উপায়ে কাজ করা যেতে পারে:
এখানে একটি সহজ FSM তৈরি করা হয়েছে যা LED এর আচরণ নিয়ন্ত্রণ করে।
স্টেটগুলি:
const int ledPin = 13; // LED পিন
enum State { OFF, ON }; // States Definition
State currentState = OFF; // Current State Initialization
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
switch (currentState) {
case OFF:
digitalWrite(ledPin, LOW); // LED বন্ধ
// Condition to switch to ON
if (digitalRead(2) == HIGH) { // বাটন প্রেস হলে
currentState = ON; // State Transition
}
break;
case ON:
digitalWrite(ledPin, HIGH); // LED চালু
// Condition to switch to OFF
if (digitalRead(2) == LOW) { // বাটন ছাড়া হলে
currentState = OFF; // State Transition
}
break;
}
}
enum State { OFF, ON };
এর মাধ্যমে অবস্থাগুলো সংজ্ঞায়িত করা হয়।State currentState = OFF;
দ্বারা বর্তমান অবস্থাকে ইনিশিয়ালাইজ করা হয়।switch (currentState)
ব্যবহার করে বর্তমান অবস্থার ভিত্তিতে কার্যক্রম পরিচালনা করা হয়।Finite State Machine (FSM) একটি শক্তিশালী প্রোগ্রামিং কৌশল যা Arduino প্রকল্পে যুক্তিযুক্ত এবং কার্যকরী নিয়ন্ত্রণ তৈরি করতে সহায়তা করে। এটি একটি নিয়মিত প্রক্রিয়ায় বিভিন্ন অবস্থার মধ্যে সঠিকভাবে পরিচালনা করতে সহায়ক।
common.read_more